from folium.plugins import HeatMapWithTime
from datetime import datetime
timestamp_values = sub_df.timestamp.unique()
data = [[[row['latitude'], row['longitude'], row['occupation_perc']]
for index, row in sub_df[sub_df.timestamp == tv].iterrows()]
for tv in timestamp_values]
loc_lat = sub_df.latitude.mean()
loc_long = sub_df.longitude.mean()
m = folium.Map(location=[loc_lat, loc_long], tiles='cartodbpositron', zoom_start=15)
# tiles = 'openstreetmap
time_index = sub_df.timestamp.unique().astype(datetime)/1000000000
ti = [datetime.utcfromtimestamp(i).strftime('%d-%m-%Y, %H:%M') for i in time_index]
hm = plugins.HeatMapWithTime(data, ti)
m.add_child(hm)
m